﻿package com.wandian.util
{  
	import flash.text.TextField;
	import flash.utils.ByteArray;

    public class TextUtils extends Object
    {

        public function TextUtils()
        {
            return;
        }

        public static function insertText(param1:Object, param2:String) : void
        {
            var _loc_3:* = param1.text.substring(0, param1.selectionBeginIndex);
            var _loc_4:* = param1.text.substring(param1.selectionEndIndex, param1.text.length);
            param1.text = _loc_3 + param2 + _loc_4;
            var _loc_5:* = param1.selectionBeginIndex + param2.length;
            param1.setSelection(_loc_5, _loc_5);
            return;
        }

        public static function backspace(param1:Object) : void
        {
            var _loc_2:String = null;
            var _loc_3:String = null;
            var _loc_4:int = 0;
            if (param1.selectionEndIndex - param1.selectionBeginIndex > 0)
            {
                _loc_2 = param1.text.substring(0, param1.selectionBeginIndex);
                _loc_3 = param1.text.substring(param1.selectionEndIndex, param1.text.length);
                _loc_4 = param1.selectionBeginIndex;
            }
            else
            {
                if (param1.selectionBeginIndex == 0)
                {
                    return;
                }
                _loc_2 = param1.text.substring(0, (param1.selectionBeginIndex - 1));
                _loc_3 = param1.text.substring(param1.selectionEndIndex, param1.text.length);
                _loc_4 = param1.selectionBeginIndex - 1;
            }
            param1.text = _loc_2 + _loc_3;
            param1.setSelection(_loc_4, _loc_4);
            return;
        }

        public static function checkTextLen(param1:String, param2:Number) : Boolean
        {
            var _loc_3:* = /[a-z0-9]""[a-z0-9]/ig;
            var _loc_4:* = param1.match(_loc_3).length;
            var _loc_5:* = param1.length * 2 - _loc_4;
            return _loc_5 <= param2;
        }

        public static function getDotTxt(numValue:Number) : String
        {
            var isValid:* = numValue < 0;
            numValue = Math.abs(numValue);
            var _loc_3:* = numValue.toString();
            var _loc_4:String = "";
            var _loc_5:* = _loc_3.length - 1;
            while (_loc_5 >= 0)
            {
                
                _loc_4 = _loc_3.charAt(_loc_5) + _loc_4;
                if ((_loc_3.length - _loc_5) % 3 == 0)
                {
                }
                if (_loc_5 > 0)
                {
                    _loc_4 = "," + _loc_4;
                }
                _loc_5 = _loc_5 - 1;
            }
            if (isValid)
            {
                _loc_4 = "-" + _loc_4;
            }
            return _loc_4;
        }

        public static function parseDotTxt(param1:String) : Number
        {
            var _loc_2:* = param1.split(",");
            var _loc_3:Number = 0;
            var _loc_4:int = 0;
            while (_loc_4 < _loc_2.length)
            {
                
                _loc_3 = int(_loc_2[_loc_4]) + _loc_3 * 1000;
                _loc_4 = _loc_4 + 1;
            }
            return _loc_3;
        }

        public static function replaceAngle(param1:String) : String
        {
            param1 = param1.replace(/<""</g, "&lt;");
            param1 = param1.replace(/>"">/g, "&gt;");
            return param1;
        }

        public static function compareString(param1:String, param2:String) : Boolean
        {
            var _loc_5:ByteArray = null;
            var _loc_6:ByteArray = null;
            var _loc_3:* = param1.length > param2.length ? (param2.length) : (param1.length);
            var _loc_4:int = 0;
            while (_loc_4 < _loc_3)
            {
                
                _loc_5 = new ByteArray();
                _loc_6 = new ByteArray();
                _loc_5.writeMultiByte(param1.charAt(_loc_4), "gb2312");
                _loc_6.writeMultiByte(param2.charAt(_loc_4), "gb2312");
                if (_loc_5[0] < _loc_6[0])
                {
                    return true;
                }
                if (_loc_5[0] == _loc_6[0])
                {
                    if (_loc_5[1] < _loc_6[1])
                    {
                        return true;
                    }
                    if (_loc_5[1] == _loc_6[1])
                    {
                        ;
                    }
                }
                return false;
                _loc_4 = _loc_4 + 1;
            }
            return param1.length < param2.length;
        }

        public static function setMaxChar(param1:TextField, param2:int) : void
        {
            while (!checkTextLen(param1.text, param2))
            {
                
                param1.text = param1.text.substr(0, param1.text.length - 2);
            }
            return;
        }

    }
}
